package com.gzhryc.net_marketing.cloud.account.dao.db;

import com.gzhryc.jdbc.annotaion.Column;
import com.gzhryc.jdbc.annotaion.Id;
import com.gzhryc.jdbc.annotaion.Table;
import com.gzhryc.pay.models.ITransferMoneyOrder;

import java.util.Date;

@Table(name="pay_transfer_money_order")
public class TransferMoneyOrder implements ITransferMoneyOrder {

    private static final long serialVersionUID = 1L;

    @Id(auto = false)
    @Column(name = "trade_no",length = 32)
    protected String tradeNo;

    @Column(name = "account_id", notNull = true)
    protected Long accountId;

    @Column(name = "pay_type", notNull = true,defVal = "2",note = "支付类型")
    protected Integer payType;

    @Column(name = "app_id", notNull = true)
    protected String appId;

    @Column(notNull = true)
    protected Integer money;

    @Column(name = "external_trade_no", length = 64, note = "第三方支付订单编号")
    protected String externalTradeNo;

    @Column(name = "external_content",length = 2048,note = "第三方支付信息")
    protected String externalContent;

    @Column(name = "transfer_account", note = "转账账号")
    protected String transferAccount;

    @Column(name = "transfer_date", note = "转账时间")
    protected Date transferDate;

    @Column(name = "receiving_type", notNull = true, note = "收款类型")
    protected Integer receivingType;

    @Column(name = "receiving_info", notNull = true, type = "TEXT", length = 255, note = "收款信息")
    protected String receivingInfo;

    @Column(length = 255)
    protected String note;

    @Column(notNull = true, length = 4, defVal = "1", note = "状态")
    protected Integer state;

    @Column(name = "update_date", autoUpdateTime = true)
    protected Date updateDate;

    @Column(name = "create_date")
    protected Date createDate;

    @Override
    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    @Override
    public Integer getMoney() {
        return money;
    }

    public void setMoney(Integer money) {
        this.money = money;
    }

    @Override
    public String getExternalTradeNo() {
        return externalTradeNo;
    }

    @Override
    public void setExternalTradeNo(String externalTradeNo) {
        this.externalTradeNo = externalTradeNo;
    }

    public String getExternalContent() {
        return externalContent;
    }

    public void setExternalContent(String externalContent) {
        this.externalContent = externalContent;
    }

    public String getTransferAccount() {
        return transferAccount;
    }

    public void setTransferAccount(String transferAccount) {
        this.transferAccount = transferAccount;
    }

    public Date getTransferDate() {
        return transferDate;
    }

    public void setTransferDate(Date transferDate) {
        this.transferDate = transferDate;
    }

    @Override
    public String getReceivingInfo() {
        return receivingInfo;
    }

    public void setReceivingInfo(String receivingInfo) {
        this.receivingInfo = receivingInfo;
    }

    @Override
    public Integer getReceivingType() {
        return receivingType;
    }

    public void setReceivingType(Integer receivingType) {
        this.receivingType = receivingType;
    }

    @Override
    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}
